package timing;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class MyFrameZadanie extends JFrame{

	static Zadanie ogladaneWlasnieZadanie = MyFrameStart.wybraneZadanie;
	final static JLabel lIlePauz = new JLabel("Ile pauz");
	final static JLabel lDataZadania = new JLabel("Data zadania");
	final static JLabel lCzasTrwania = new JLabel("Czas trwania");
	final static JLabel lCzasOdDo = new JLabel("Czas od-do");
	final static JLabel lLacznyCzasPauz = new JLabel("Łączny czas pauz");
	final static JLabel lOpis = new JLabel("Opis");
	final static JLabel lIdZadania = new JLabel("ID zadania");
	final static JLabel lOd = new JLabel("Od");
	final static JLabel lDo = new JLabel("Do");
	
	final static JButton bEdytuj = new JButton("Edytuj");
	final static JButton bZapisz = new JButton("Zapisz");
	final static JButton bPowrot = new JButton("Powrót");
	final static JTextField fIdZadania = new JTextField(5);
	final static JTextField fDataZadania = new JTextField(8);
	final static JTextField fOpis = new JTextField(50);
	final static JTextField fIlePauzZadania = new JTextField(5);
	final static JTextField fCzasRozpoczecia = new JTextField(8);
	final static JTextField fCzasZakonczenia = new JTextField(8);
	final static JTextField fCzasTrwania = new JTextField(10);
	final static JTextField fCzasOdDo = new JTextField(50);
	final static JTextField fLacznyCzasPauz = new JTextField(10);
	
	public MyFrameZadanie() {
		super("Zadanie");
		setDefaultCloseOperation(MyFrameStart.DISPOSE_ON_CLOSE);
		setSize(600, 600);
		setLocation(350, 150);
		setLayout(new FlowLayout(FlowLayout.LEFT));
		setVisible(true);
		
		ustawPrzyciskiNaStart();
		
		bPowrot.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent zdarz) {
				dispose();
			}
		});
		
		
		bEdytuj.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent zdarz) {
				fOpis.setEditable(true);
				bZapisz.setEnabled(true);
			}
		});
		
		
		bZapisz.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent zdarz) {
				ogladaneWlasnieZadanie.opis = fOpis.getText();	
				if (!Zadanie.opisy.contains(Zadanie.aktualneZadanie.opis)) {
					Zadanie.opisy.add(Zadanie.aktualneZadanie.opis);
				}
				resetujPolaFormularza();
				MyFrameStart.aktualizujListeZadan();
				ModelZadan.aktualizujListeZadan();
			}
			
			private void resetujPolaFormularza() {
				fOpis.setText(ogladaneWlasnieZadanie.opis);
				fOpis.setEditable(false);
			}
			
		});
	}

	private void ustawPrzyciskiNaStart() {
		fDataZadania.setText(ogladaneWlasnieZadanie.dataZadania);
		fIdZadania.setText(String.valueOf(ogladaneWlasnieZadanie.iDZadania));
		fOpis.setText(ogladaneWlasnieZadanie.opis);
		fCzasRozpoczecia.setText(ogladaneWlasnieZadanie.czasRozpoczecia);
		fCzasZakonczenia.setText(ogladaneWlasnieZadanie.czasZakonczenia);
		fCzasTrwania.setText(ogladaneWlasnieZadanie.s1CzasTrwaniaFaktycznyS);
		fCzasOdDo.setText(ogladaneWlasnieZadanie.s1CzasTotalS);
		fIlePauzZadania.setText(String.valueOf(ogladaneWlasnieZadanie.ilePauzZadania));
		fLacznyCzasPauz.setText(ogladaneWlasnieZadanie.s1CzasPauzS);

		
		add(lDataZadania);
		add(fDataZadania);
		add(lIdZadania);
		add(fIdZadania);
		add(lOd);
		add(fCzasRozpoczecia);
		add(lDo);
		add(fCzasZakonczenia);


		add(lCzasTrwania);
		add(fCzasTrwania);
		add(lLacznyCzasPauz);
		add(fLacznyCzasPauz);
		add(lIlePauz);
		add(fIlePauzZadania);
		add(lCzasOdDo);
		add(fCzasOdDo);
		add(lOpis);
		add(fOpis);		
		add(bEdytuj);
		add(bZapisz);
		add(bPowrot);

		fIdZadania.setEditable(false);
		fDataZadania.setEditable(false);
		fCzasRozpoczecia.setEditable(false);
		fCzasZakonczenia.setEditable(false);
		fCzasTrwania.setEditable(false);
		fCzasOdDo.setEditable(false);
		fIlePauzZadania.setEditable(false);
		fLacznyCzasPauz.setEditable(false);	
		fOpis.setEditable(false);
		bZapisz.setEnabled(false);	
	}
}
